10 POKE53272,21:POKE783,PEEK(783)AND254 20 POKE53280,3:POKE53281,1:PRINTCHR$(156):POKE53272,21 30 PRINTCHR$(147):POKE781,5:POKE782,12:SYS65520:PRINT"CRYPTOGRAM HELPER" 40 POKE781,8:POKE782,19:SYS65520:PRINT"BY" 50 POKE781,11:POKE782,14:SYS65520:PRINT"RUSS GEPHART" 60 POKE781,19:POKE782,6:SYS65520:PRINT"TRANSLATED BY DONNA K. WOODY" 70 POKE781,23:POKE782,7:SYS65520:PRINT"PRESS SPACE BAR TO CONTINUE";: 80 POKE198,0:WAIT198,1:GETA$ 90 PRINTCHR$(147):PRINT"DO YOU NEED INSTRUCTIONS (Y/N)?[160]";: 100 POKE198,0:WAIT198,1:GETA$ 110 IFA$="Y"THENGOSUB6500:GOTO1010 120 IFA$="N"THEN1010 130 GOTO90 1000 REM CRYPTOGRAM PROGRAM BY RUSS GEPHART 1010 DIMSC(26),ST(26) 1020 PRINTCHR$(147):X=0 1025 V=22:SP$=" " 1030 PRINTCHR$(156):PRINT:PRINT"ENTER ENCRYPTED LINE (CR) TO END" 1040 INPUTA$(X) 1050 IFA$(X)=""THEN1070 1060 X=X+1:IFX<>7THEN1030 1070 PRINTCHR$(147):PRINTCHR$(156) 1080 FORZ=0TOX-1 1090 POKE781,Z*3+2:POKE782,1:SYS65520:PRINTA$(Z) 1100 NEXTZ 1110 POKE781,24:POKE782,24:SYS65520:PRINT"* FOR SUBMENU"; 1113 POKE781,V:POKE782,0:SYS65520 1115 PRINTCHR$(144);:PRINT"SUBSTITUTE ? WITH ?[157][157][157][157][157][157][157][157]";:POKE198,0:WAIT198,1:GETB$ 1120 IFASC(B$)=42THEN2000:REM * 1130 IFASC(B$)=13THEN1195:REM C/R 1140 PRINTB$;SPC(6):POKE198,0:WAIT198,1:GETC$ 1150 IFASC(C$)=42THEN2000:REM * 1160 IFASC(C$)=13THEN1195:REM C/R 1170 PRINTC$ 1180 GOSUB1230:REM SEARCH & SUB 1195 GOSUB1220 1200 GOTO1110 1210 REM CLEAR BOTTOM LINES 1220 POKE781,V:POKE782,0:SYS65520:PRINTSP$:PRINTSP$:PRINTSP$;:RETURN 1230 REM SEARCH & REPLACE 1240 FORZ=0TOX-1 1250 FORZZ=1TOLEN(A$(Z)) 1260 IFMID$(A$(Z),ZZ,1)=B$THENGOSUB1300 1270 NEXTZZ 1280 NEXTZ 1290 RETURN 1300 POKE781,Z*3+1:POKE782,ZZ:SYS65520 1310 IFC$=" "THENPRINTC$:RETURN 1320 PRINTCHR$(159);C$;CHR$(144):RETURN 1999 : 2000 REM ESCAPE ROUTINES 2001 : 2010 GOSUB1210 2020 POKE781,V:POKE782,0:SYS65520:PRINT"*=CLEAR E=EDIT F=LETTER FREQUENCY" 2030 PRINT"S=SAVE L=LOAD R=RESTART" 2035 PRINT"H=HELP X=EXIT";:POKE198,0:WAIT198,1:GETA$ 2040 IFASC(A$)=42THEN2500 2050 IFA$="E"THEN3000 2060 IFA$="F"THEN3500 2070 IFA$="S"THEN4000 2080 IFA$="L"THEN4500 2090 IFA$="R"THEN5000 2095 IFA$="H"THENGOSUB6500:GOTO1080 2100 IFA$="X"THEN5500 2110 GOTO1195 2499 : 2500 REM CLEAR SCREEN ROUTINE 2501 : 2505 PRINTCHR$(19) 2510 FORZ=0TOX-1 2520 POKE781,Z*3+2:POKE782,1:FORC=1TOLEN(A$(Z))+1:PRINT" ";:NEXTC 2530 PRINT:PRINT:PRINT:NEXTZ 2540 GOTO1195 2999 : 3000 REM EDIT ROUTINE 3001 : 3010 GOSUB1220 3020 POKE781,V:POKE782,0:SYS65520:PRINT"WHICH LINE TO RE-ENTER"; 3025 POKE198,0:WAIT198,1:GETA$ 3027 A=VAL(A$):IFA>ZORA<1GOTO3020 3030 POKE781,(A-1)*3+3:POKE782,0:SYS65520 3040 INPUTA$(A-1) 3050 GOSUB1210 3060 F=0 3070 GOTO1070 3499 : 3500 REM FREQUENCY ROUTINE 3501 : 3510 GOSUB1210 3520 IFF=1THEN3740 3530 FORCC=1TO26:SC(CC)=0:NEXT 3540 POKE781,V:POKE782,0:SYS65520:PRINT"COUNTING LETTERS";: 3550 FORZ=0TOX-1 3560 FORZZ=1TOLEN(A$(Z)) 3570 J$=MID$(A$(Z),ZZ,1) 3580 IFASC(J$)>=65ANDASC(J$)<=90THENSC(ASC(J$)-64)=SC(ASC(J$)-64)+1 3590 NEXTZZ 3600 NEXTZ 3610 REM SORT ROUTINE 3620 GOSUB1210:POKE781,22:POKE782,0:SYS65520:PRINT"SORTING BY FREQUENCY": 3630 FORY=1TO26:ST(Y)=Y:NEXT 3640 FORY=1TO25 3650 GOSUB3680 3660 NEXTY 3670 GOTO3740 3680 IFSC(Y)>=SC(Y+1)THENRETURN 3690 J=SC(Y):SC(Y)=SC(Y+1):SC(Y+1)=J 3700 J=ST(Y):ST(Y)=ST(Y+1):ST(Y+1)=J 3710 IFY=1THENRETURN 3720 Y=Y-1 3730 GOTO3680 3740 GOSUB1210 3745 POKE781,V:POKE782,0:SYS65520:H=0:FLAG=0 3750 FORY=1TO26 3755 IFFLAG>36THENV=V+1:FLAG=0:H=0:POKE781,V:POKE782,H:SYS65520 3760 IFSC(Y)=0THEN3790 3765 ST$=MID$(STR$(SC(Y)),2) 3770 PRINTCHR$(ST(Y)+64);ST$" ";:FLAG=FLAG+3-(SC(Y)>9) 3780 NEXTY 3790 POKE198,0:WAIT198,1:GETA$ 3800 F=1 3810 V=22:GOTO1195 3999 : 4000 REM SAVE ROUTINE 4001 : 4010 GOSUB1220 4020 POKE781,V:POKE782,0:SYS65520:PRINT"SAVE FILE?[160](Y/N) " 4025 POKE198,0:WAIT198,1:GETA$ 4030 IFA$<>"Y"THEN1195 4040 GOSUB1220 4050 POKE781,V:POKE782,0:SYS65520:INPUT"NAME OF FILE TO SAVE ";F$ 4060 IFF$=""THEN1195 4070 GOSUB1220 4080 POKE781,V:POKE782,0:SYS65520:PRINT"NOW SAVING ";F$ 4090 OPEN15,8,15,"R0:"+F$+"="+F$:GOSUB6000 4100 IFCZ>20ANDCZ<>62ANDCZ<>63THEN4200 4110 IFCZ=62THEN:OPEN4,8,4,"0:"+F$+",SEQ,W":GOTO4155 4120 PRINT"FILE ALREADY EXISTS. CONTINUE (Y/N)"; 4130 POKE198,0:WAIT198,1:GETA$ 4140 IFA$<>"Y"THENCLOSE4:CLOSE15:GOTO1195 4150 PRINT#15,"S0:"+F$:OPEN4,8,4,"0:"+F$+",SEQ,W" 4155 FORZ=0TOX-1 4160 PRINT#4,A$(Z) 4165 NEXT 4170 CLOSE4:CLOSE15 4180 GOTO1195 4200 PRINT"THERE IS A DISK ERROR #"CZ"WHICH IS":PRINTMZ$ 4210 PRINT"CONTINUE (Y/N)?[160]";:POKE198,0:WAIT198,1:GETA$ 4220 IFA$<>"Y"THEN1195 4230 GOTO4010 4499 : 4500 REM LOAD ROUTINE 4501 : 4510 GOSUB1220 4520 POKE781,V:POKE782,0:SYS65520:PRINT"LOAD FILE? (Y/N) "; 4525 POKE198,0:WAIT198,1:GETA$ 4530 IFA$<>"Y"THEN1195 4540 GOSUB1220 4550 POKE781,V:POKE782,0:SYS65520:INPUT"NAME OF FILE TO LOAD ";F$ 4560 IFF$=""THEN1195 4570 GOSUB1220 4580 POKE781,V:POKE782,0:SYS65520:PRINT"NOW LOADING ";F$:FF=0 4590 OPEN15,8,15:OPEN4,8,4,"0:"+F$+",SEQ,R":GOSUB6000 4600 IFCZ>20ANDCZ<>62ANDCZ<>63THEN4680 4610 IFCZ=62THENGOTO4630 4620 GOTO4655 4625 GOSUB1220:POKE781,V:POKE782,0:SYS65520 4630 PRINT"FILE NOT FOUND ON THIS DISK. DO YOU" 4635 PRINT"WANT TO CONTINUE (Y/N)?[160]";:POKE198,0:WAIT198,1:GETA$ 4640 IFA$<>"Y"THENCLOSE4:CLOSE15:GOTO1195 4645 CLOSE4:CLOSE15:GOTO4510 4655 Z=0 4660 INPUT#4,A$(Z) 4665 IFST=64THEN4670 4667 Z=Z+1:GOTO4660 4670 CLOSE4:CLOSE15:X=Z+1 4675 GOTO1070 4680 GOSUB1220:POKE781,V:POKE782,0:SYS65520:PRINT"THERE IS A DISK ERROR #" 4682 PRINTCZ" WHICH IS" 4685 PRINTMZ$TAB(LEN(MZ$)+2)"CONTINUE (Y/N)?[160]";:POKE198,0:WAIT198,1:GETA$ 4690 IFA$<>"Y"THEN1195 4695 GOTO4510 4999 : 5000 REM RESTART PROGRAM 5001 : 5010 CLR:GOTO1010 5500 REM EXIT PROGRAM 5510 PRINTCHR$(147) 5520 PRINT"[147]LOAD"CHR$(34)"PAYLOAD"CHR$(34)",8":PRINT"RUN" 5530 POKE631,13:POKE632,13:POKE198,2 5540 END 5997 : 5998 REM DOS ERROR CHECK 5999 : 6000 INPUT#15,CZ,MZ$,TZ,SZ:RETURN 6497 : 6498 REM INSTRUCTIONS 6499 : 6500 PRINTCHR$(147):POKE53272,23:PRINTCHR$(156) 6510 PRINT" [215]ELCOME TO [195][210][217][208][212][207][199][210][193][205] [200][197][204][208][197][210]":PRINT:PRINT 6520 PRINT" [215]ITH THIS PROGRAM, YOU'LL BE ABLE TO":PRINT 6530 PRINT"SOLVE CRYPTOGRAM PUZZLES WITHOUT":PRINT 6540 PRINT"WEARING A HOLE IN THE PAPER!":PRINT 6550 PRINT" [217]OU HAVE THE OPTION OF ENTERING UP TO":PRINT 6560 PRINT"7 LINES OF CODED TEXT. [212]HEN YOU CAN":PRINT 6570 PRINT"SUBSTITUTE ONE LETTER FOR ANOTHER UNTIL":PRINT 6580 PRINT"YOU SOLVE THE PUZZLE." 6590 POKE781,23:POKE782,0:SYS65520:PRINT"[208][210][197][211][211][160][211][208][193][195][197][160][194][193][210][160][212][207][160][195][207][206][212][201][206][213][197]";: 6595 POKE198,0:WAIT198,1:GETA$ 6600 PRINTCHR$(147):PRINT" [193] '*' ENTERED WHEN YOU ARE ASKED":PRINT 6610 PRINT"FOR A LETTER, WILL GIVE YOU A SUB-MENU.":PRINT 6620 PRINT"[200]ERE ARE THE OPTIONS YOU WILL HAVE:":PRINT 6630 PRINT" * = [195][204][197][193][210] ALL GUSSES FROM THE" 6640 PRINT" SCREEN, BUT LEAVE THE TEXT":PRINT 6650 PRINT" [197] =[160][197][196][201][212] A LINE OF TEXT YOU HAVE" 6660 PRINT" ENTERED (CORRECT ANY TYPOS" 6670 PRINT" WITH THIS FUNCTION)":PRINT 6680 PRINT" [198][160]=[160][204][197][212][212][197][210][160][198][210][197][209][213][197][206][195][217] WILL TELL YOU" 6690 PRINT" HOW MANY TIMES EACH LETTER OF" 6700 PRINT" THE ENCRYPTED TEXT APPEARS." 6710 PRINT" [212]HE FIRST TIME THIS IS USED," 6720 PRINT" IT TAKES A WHILE, SO BE" 6725 PRINT" PATIENT." 6770 POKE781,23:POKE782,0:SYS65520:PRINT"[208][210][197][211][211][160][211][208][193][195][197][160][194][193][210][160][212][207][160][195][207][206][212][201][206][213][197]";: 6775 POKE198,0:WAIT198,1:GETA$ 6776 PRINTCHR$(147) 6780 PRINT" [211][160]=[160][211][193][214][197] ENCRYPTED TEXT SO YOU CAN" 6790 PRINT" WORK ON IT LATER. [212]HE 64 WILL" 6800 PRINT" CHECK TO SEE IF THE FILE" 6810 PRINT" ALREADY EXISTS ON DISK.":PRINT 6820 PRINT" [204][160]= [204][207][193][196] A FILE FROM DISK.":PRINT 6830 PRINT" [210][160]= [210][197][211][212][193][210][212] THE PROGRAM. [217]OU WILL" 6840 PRINT" BE ABLE TO ENTER NEW TEXT." 6850 PRINT" [206][207][212][197]: [193]LL TEXT THAT YOU WERE" 6860 PRINT" WORKING ON WILL BE LOST.":PRINT 6862 PRINT" [200][160]=[160][200][197][204][208] WILL GIVE YOU THESE" 6864 PRINT" INSTRUCTIONS AGAIN (IN CASE" 6866 PRINT" YOU FORGET ANY OF THEM). [193]NY" 6868 PRINT" SUBSTITUTIONS YOU HAVE MADE" 6869 PRINT" WILL BE LOST.":PRINT 6870 PRINT" [216] = [197][216][201][212] LEAVE THE PROGRAM. [217]OUR" 6880 PRINT" TEXT WILL NOT BE SAVED." 6890 POKE781,23:POKE782,0:SYS65520:PRINT"[208][210][197][211][211][160][211][208][193][195][197][160][194][193][210][160][212][207][160][195][207][206][212][201][206][213][197]";: 6900 POKE198,0:WAIT198,1:GETA$:PRINTCHR$(147):POKE53272,21:RETURN